var path = require('path');
var webpack = require('webpack');

module.exports = {
  devtool: 'source-map',//显示源码，便于调试
  entry: [
    './client/app/index.js'
  ],
  output: {
    path: __dirname,
    filename: 'static/bundle.js'
  },
  stats: 'errors-only',//仅仅打印错误
  plugins: [
    new webpack.HotModuleReplacementPlugin(), //热加载插件
    new webpack.NoErrorsPlugin()
  ],
  module: {
    loaders: [
      {
        test: /\.(js|jsx)$/,//正则表达式匹配文件名
        loaders: ['react-hot', 'babel'],//选择对应的加载器
        exclude: /(node_modules)/,
        include: __dirname
      },
      {
        test: /\.css$/,
        loader: 'style!css'
      },
      {
        test: /\.scss$/,
        loader: 'style!css!sass'
      },
      {
        test: /\.(png|jpg)$/,
        loader: 'file'
      }
    ] 
  },
  devServer: {
   // contentBase: resolve("dist"), // 在 localhost:8080 下建立服务，将 dist 目录下的文件，作为可访问文件。
    hot: true, // 启用 webpack 的模块热替换特性
    compress: true, // 一切服务都启用gzip 压缩
    color: true, // 启用/禁用控制台上的颜色
    //host: '0.0.0.0', // 默认是 localhost
    port: 8888, // 指定要监听请求的端口号
    open: true,
    overlay: true, // 编译出现错误时，将错误直接显示在页面上
    quiet: true, // 如果使用webpack-dev-server，需要设为true，禁止显示devServer在终端的console信息
    historyApiFallback:{
			index: '/static/index.html'
    },
    proxy: {
      "/api":{
        target: "http://localhost:8094",
        pathRewrite: {"/api":""}
      }
    }
  },
  resolve: {
    //自动扩展文件后缀名
    "extensions": ['', '.jsx', '.js', '.json', '.scss', '.css'], 
    "alias": {
      "root_path": __dirname+'/client'
    }
  }
};
